-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
stdarch subtree update #151711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stdarch subtree update #151711
Conversation
This allows the `types` macro to easily implement `From<Simd<T, N>>` and `Into<Simd<T, N>>`
…oid-unsafe-tests Use a generic type to implement SIMD types in `core_arch::simd` and avoid `unsafe fn` in more tests
For other targets we don't have such instances. We specifically decided agains implementing arithmetic operators on these low-level vector types
The inline(always) attribute is now applied to the call site when a function has target features enabled so that it can determine that the call is safe to inline.
thread, grid, and block dim/idx can only return non-negative values
remove `impl Neg` on s390x/powerpc vector types
Mark the neon intrinsics as inline(always).
use `simd_extract_dyn` for `extract`
Because `qemu` does not support these (yet), I haven't added any runtime tests
s390x: add `nnp-assist` intrinsics
test `vmulh_lane_f16` in intrinsic test
Stabilize `__jcvt`
This updates the rust-version file to 873d468.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@873d468 Filtered ref: rust-lang/stdarch@003d326 Upstream diff: rust-lang/rust@4862272...873d468 This merge was created using https://github.com/rust-lang/josh-sync.
Rustc pull update
use `simd_splat`
|
|
This comment has been minimized.
This comment has been minimized.
this is required for compiling `stdarch`
|
I've enabled |
|
cc @davidtwco @RalfJung is |
|
The tracking issue contains a fresh example of what looks like a soundness problem with that feature...
|
|
based on #145574 (comment) I'm going to go ahead here. @bors r+ |
…, r=folkertdev stdarch subtree update Subtree update of `stdarch` to rust-lang/stdarch@9ba0a3f. Created using https://github.com/rust-lang/josh-sync. r? @ghost
Rollup merge of #151711 - folkertdev:stdarch-sync-2026-01-26, r=folkertdev stdarch subtree update Subtree update of `stdarch` to rust-lang/stdarch@9ba0a3f. Created using https://github.com/rust-lang/josh-sync. r? @ghost
…uwer Rollup of 4 pull requests Successful merges: - rust-lang/rust#151161 (std: move time implementations to `sys`) - rust-lang/rust#151694 (more `proc_macro` bridge cleanups) - rust-lang/rust#151711 (stdarch subtree update) - rust-lang/rust#150557 (Don't try to evaluate const blocks during constant promotion)
|
Congrats! This PR caused a significant performance boost in rollup: #151749 (comment) |
|
Huh, weird. I guess Anyway, good point, I'll keep that in mind. |
…uwer Rollup of 4 pull requests Successful merges: - rust-lang/rust#151161 (std: move time implementations to `sys`) - rust-lang/rust#151694 (more `proc_macro` bridge cleanups) - rust-lang/rust#151711 (stdarch subtree update) - rust-lang/rust#150557 (Don't try to evaluate const blocks during constant promotion)
|
That benchmark is measuring compile times -- so somehow rustc itself or a crate it uses is benefiting from this. |
|
it's time spent compiling the crate right? So the compiler emitting better LLVM IR for some function could be the cause? The compiler itself does not use the stdarch intrinsics that were touched as far as I know. We have some string/slice-related SIMD implementations but they don't appear to use |
Subtree update of
stdarchto rust-lang/stdarch@9ba0a3f.Created using https://github.com/rust-lang/josh-sync.
r? @ghost